<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <title>新的模板</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!--
            computed和watch之间的区别：
                1.computed能完成的功能, watch都可以完成
                2.watch能完成的功能, computed不一定能完成, 例如：watch可以进行异步操作
            两个重要的小原则：
                1.所被Vue管理的函数, 最好写成普通函数, 这样this的指向才是vm 或组件实例对象
                2.所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数)，最好写成箭头函数,
                  这样this的指向才是vm 或 组件实例对象
        -->
        <!-- 准备好一个容器 -->
        <div id="root">
            姓：<input type="text" v-model="firstName"><br><br/>
            名：<input type="text"v-model="lastName"><br><br/>
            姓名：<span>{{fullName}}</span><br><br/>
           
        </div>

        <script type="text/javascript">
            Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。

            const vm = new Vue({
                el:'#root'
                ,data:{
                   firstName:'张'
                   ,lastName:'三' 
                   ,fullName:'张-三'
                },
                watch:{
                    firstName(val){
                        setTimeout(()=>{
                            this.fullName = val + '-' + this.lastName
                        }, 1000)
                    }
                    ,lastName(val){
                        setTimeout(()=>{
                            this.fullName = this.firstName + '-' + val
                        }, 1000)
                    }
                }
            })

        </script>
    </body>
</html>